package com.nineclock.document.service;

import com.nineclock.common.entity.PageResult;
import com.nineclock.document.dto.*;

import java.util.List;

/**
 * @author 黑马程序员
 * @Company http://www.ithiema.com
 * @Version 1.0
 */
public interface AppDocumentService {

    DocumentDto queryFolderAndFile(Long parentFolderId);

    void insertFolder(DocFolderDto docFolderDto);

    void insertFile(DocFileDto docFileDto);

    DocFileDto getFileByFileId(Long fileId);

    List<DocFileHistoryDto> getHistoryByFileId(Long fileId);

    void getDocFileIdAndStatus(Long id, Short status);

    void updateFile(DocFileDto docFileDto);

    /**
     * 查询文档协作者列表
     * @param id
     * @param page
     * @param pageSize
     * @return
     */
    PageResult<DocumentUserDTO> pagingCollaborations(Long id, Long page, Long pageSize);

    /**
     * 删除协作者
     */
    void deleteUser(DocCollaborationsDto docCollaborationsDto);

    /**
     * 获取企业员工列表
     * @param fileId
     * @return
     */
    List<DocUserCollaborationDTO> getUserList(Long fileId);

    /**
     * 添加协作者
     * @param docCollaborationsDto
     */
    void insertCollaboration(DocCollaborationsDto docCollaborationsDto);
}
